This invention relates to modulation encoders for magnetic storage devices.
Modulation codes are often used in magnetic storage devices to insure that a long string of "0's" is not present in a data stream stored on the magnetic storage device. For example, in a tape drive system the presence of a long string of zeros exceeding a constraint value k can cause a circuit with a phase lock loop device that reads/writes data to/from the storage device to lose lock and produce catastrophic data errors.
Different types of magnetic storage systems prioritize code properties such as, timing updates and error propagation characteristics, differently. For tape systems having a small k constraint value (frequent timing updates) is more important than in disk drives, since tape systems require a larger tolerance to velocity changes. On the other hand, if the tape uses an error control scheme such as error detection along a track, as current digital linear tape (DLT) systems do, then minimizing error propagation will have a lower priority.
One type of modulation coding technique uses a table look up to produce code words in response to user data.
One type of modulation code is the so called "block code" technique. In a block code data are operated on a block basis and for m number of bits into an encoder, n number of bits come out. The code rate for such a code is given as m/n. In one type of block code, a redundant "pivot" bit is added in the encoded codeword. This pivot bit flags whether there was any need for encoding. If the pivot bit is "1" for example this could signify that the data was not encoded, whereas a "0" would indicate that it was encoded because a k constraint violation had occurred. Usually, such codes are simple to implement but start getting inefficient at higher code rates. A second block code is to use an available block code with a code rate of (n-1)/n code for small n and insert interleaved p non-coded bits, resulting in an (n+p-1)/(n+p) code. Such codes are high code-rate, simple to construct and usually have good error propagation properties, but result in large k values. They may be suitable for disk drive applications but are not generally suitable for tape systems.